<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>系统用户管理</title>
    <link rel="stylesheet" href="../../layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layui/layuiAdmin/css/admin.css" media="all">
</head>
<body>

<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-radius: 0;border-top: 4px solid #d2d2d2;">
            <div class="layui-form-item">
                <div class="layui-inline">
                    <label class="layui-form-label">姓名</label>
                    <div class="layui-input-inline">
                        <input type="text" name="username" placeholder="请输入姓名" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-inline">
                    <button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="LAY-sysuser-front-search">
                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                    </button>
                </div>
            </div>
        </div>
        <div class="layui-card-body">

            <div style="padding-bottom: 10px;">
                <button class="layui-btn layuiadmin-btn-useradmin" data-type="batchdel">删除</button>
                <button class="layui-btn layuiadmin-btn-useradmin" data-type="add">添加</button>
            </div>

            <table id="LAY-user-manage" lay-filter="LAY-user-manage"></table>

            <script type="text/html" id="table-useradmin-webuser">
                <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
                <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
            </script>

            <div class="layui-row">
                <div class="layui-col-md12">
                    <table class="layui-table" id="chukuTable" ></table>
                </div>
            </div>
            <div class="layui-row">
                <div class="layui-col-md12" id="chukuTablePage"></div>
            </div>

            <!--状态判断-->
            <script type="text/html" id="statusTpl">
                {{#  if(d.status == 1){ }}
                <button class="layui-btn layui-btn-xs">正常</button>
                {{#  } else if(d.status == 2) { }}
                <button class="layui-btn layui-btn-primary layui-btn-xs">冻结</button>
                {{#  } }}

            </script>

            <!--  创建时间格式化处理 -->
            <script type="text/html" id="createTimeTpl">
                {{formatDate(d.createTime)}}
            </script>

            <!--  更新时间格式化处理 -->
            <script type="text/html" id="updateTimeTpl">
                {{formatDate(d.updateTime)}}
            </script>

        </div>
    </div>
</div>

<script src="../../layui/layui.js"></script>
<script type="text/javascript">
    // 日期格式转换函数
    function formatDate(str) {
        if(str != null){
            var now = new Date(str);
            var year = now.getFullYear();  //取得4位数的年份
            var month = now.getMonth() + 1;  //取得日期中的月份，其中0表示1月，11表示12月
            var date = now.getDate();      //返回日期月份中的天数（1到31）
            var hours = now.getHours();
            var minutes = now.getMinutes();
            var seconds = now.getSeconds();
            return year + "-" + month + "-" + date +" "+hours+":"+minutes+":"+seconds;
        }
        return "";
    }
</script>
<script type="text/javascript">
    layui.use(['layer', 'jquery', 'laypage','form'], function () {
        var layer = layui.layer;
        var $ = layui.jquery;
        var laypage = layui.laypage;
        var form = layui.form;
        var table = layui.table;

        // 表头
        var tableHead = '<thead>' +
            '<tr>' +
            '<th>勾选</th>' +
            '<th>ID</th>' +
            '<th>雇员名称</th>' +
            '<th>性别</th>' +
            '<th>地址</th>' +
            '<th>年龄</th>' +
            '<th>手机号</th>' +
            '<th>位置</th>' +
            '</tr>' +
            '</thead>';

        let chukuData;
        let currentLimit = 10;

        // 渲染表格
        //加载table
        table.render({
            elem: '#LAY-user-manage'
            ,url:'/list' //后端接口
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度
            ,title: '雇员数据表'
            ,cols: [[
                {type: 'checkbox', fixed: 'left'}
                ,{field:'id',title:'雇员编号'}
                ,{field:'name', title:'雇员名称'}
                ,{field:'sex', title:'性别'}
                ,{field:'address', title:'地址'}
                ,{field:'age', title:'年龄'}
                ,{field:'phone', title:'手机号'}
                ,{field:'position', title:'位置'}
                ,{field:'status', title:'状态'}
            ]]
            ,page: {
                curr: 1 //设定初始在第 5 页
                ,limit: 5 //设定初始每页显示 5 条
            },
            limits:[5,10,15,20],
            parseData: function(res) {
                console.log(res)
                console.log(res.data)
                // chukuData = res.data;
                // var html = '';
                // for (var i = 0; i < chukuData.length; i++) {
                //     var sales = chukuData[i];
                //     var shijian = new Date(sales.billTime);
                //     var formattedDate = shijian.getFullYear() + '-' + (shijian.getMonth() + 1).toString().padStart(2, '0') + '-' + shijian.getDate().toString().padStart(2, '0');
                //     html += '<tr>';
                //     html += '<td style="width: 150px;"><input type="checkbox" class="selectItem"></td>';
                //     html += '<td style="width: 150px;">' + sales.id + '</td>';
                //     html += '<td style="width: 150px;">' + sales.billNumber + '</td>';
                //     html += '<td style="width: 200px;">' + formattedDate + '</td>';
                //     html += '<td style="width: 150px;">' + sales.price + '</td>';
                //     html += '<td style="width: 150px;">' + sales.leader + '</td>';
                //     html += '<td>' + sales.remark + '</td>';
                //     html += '</tr>';
                // }
                // $("#LAY-user-manage").html(tableHead + html); // Load data
                // 对接口返回的数据进行解析
                return {
                    code: res.code, // 返回码，0表示成功
                    msg: res.msg, // 返回信息
                    count: res.count, // 数据总数
                    data: res.data // 数据列表
                };
            }
        });

        // 分页请求数据
        function getData(page, limit) {
            if (limit !== currentLimit) {
                currentLimit = limit; // Update currentLimit value
            }
            $.ajax({
                url: '/list',
                type: 'GET',
                success: function (res) {
                    if (res.code === 1) {
                        chukuData = res.data;
                        console.log(chukuData)
                        var html = '';
                        for (var i = 0; i < chukuData.length; i++) {
                            var sales = chukuData[i];
                            html += '<tr>';
                            html += '<td style="width: 150px;"><input type="checkbox" class="selectItem"></td>';
                            html += '<td style="width: 150px;">' + sales.id + '</td>';
                            html += '<td style="width: 150px;">' + sales.name + '</td>';
                            html += '<td style="width: 200px;">' + sales.sex + '</td>';
                            html += '<td style="width: 150px;">' + sales.address + '</td>';
                            html += '<td style="width: 150px;">' + sales.age + '</td>';
                            html += '<td style="width: 150px;">' + sales.phone + '</td>';
                            html += '<td style="width: 150px;">' + sales.position + '</td>';
                            html += '<td style="width: 150px;'> + sales.status + '</td>';
                            html += '</tr>';
                        }
                        $("#chukuTable").html(tableHead + html); // Load data

                    } else {
                        // Display error message if the request fails
                        layer.msg(res.message, {icon: 2});
                    }
                },
                error: function (xhr) {
                    console.log(xhr.responseText);
                }
            });
        }

        // 初始化第一页数据
        getData(1, 10);

        // 监听表单提交事件
        form.on('submit(search)', function(data) {
            // Get the page and limit values from the form data
            var page = data.field.page;
            var limit = data.field.deptno;

            // Call getData function to perform the search
            getData(page, limit);

            // Prevent the default form submission behavior
            return false;
        });

        // //监听行工具事件
        // table.on('tool(LAY-user-manage)', function(obj){
        //     var data = obj.data;
        //     //console.log(obj)
        //     if(obj.event === 'del') {
        //         layer.confirm('真的删除行么', function (index) {
        //             $.ajax({
        //                 url: "/delEmployee", //请求后端接口地址
        //                 type: "post", //请求方式get | post
        //                 data: {empno: data.empno}, //提交json字符串对象参数
        //                 dataType: "json", //后端返回参数类型
        //                 success: function (res) { //请求成功后回调函数res = JSONObject.toJSONString(resultMap)
        //                     if (res.code == 0) {//成功
        //                         layer.msg(res.msg);//弹出提示
        //                         table.reload('LAY-user-manage'); //数据刷新
        //                         layer.close(index); //关闭弹层
        //                     }
        //                     if (res.code == -1) {//系统出问题
        //                         layer.msg(res.msg, {icon: 5});//弹出提示
        //                     }
        //                 }
        //             })
        //         });
        //     }
        // });


        //监听搜索
        form.on('submit(LAY-sysuser-front-search)', function(data){
            var field = data.field;
            //执行重载
            table.reload('LAY-user-manage', {
                url: '/sys_user/search',
                where: field
            });
        });

        //事件
        var active = {
            batchdel: function(){
                var checkStatus = table.checkStatus('LAY-user-manage')
                    ,checkData = checkStatus.data; //得到选中的数据

                if(checkData.length == 0){
                    return layer.msg('请选择数据');
                }

                // 程序走到这里，表示已经有选中要删除的数据了。
                layer.confirm('确定删除吗？',function (){
                    //真实删除，应该和后端结合 ajax
                    table.reload('LAY-user-manage');
                    layer.msg('已删除');
                })
            }
            ,add: function(){
                layer.open({
                    type: 2
                    ,title: '添加系统员工信息'
                    ,skin: 'layui-layer-molv'
                    ,content: 'add.html'
                    ,maxmin: true
                    ,area: ['480px', '370px']
                    ,btn: ['确定', '取消']
                    ,yes: function(index, layero){
                        var iframeWindow = window['layui-layer-iframe'+ index]
                            ,submitID = 'LAY-user-front-submit'
                            ,submit = layero.find('iframe').contents().find('#'+ submitID);
                        //监听提交
                        iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
                            var field = data.field; //获取提交的字段
                            $.ajax({
                                url:"/addEmployee", //请求后端接口地址
                                type:"post", //请求方式get | post
                                data:JSON.stringify(field), //提交json字符串对象参数
                                contentType:"application/json;charset=utf-8", //发送信息至服务器时内容编码类型
                                dataType:"json", //后端返回参数类型
                                success:function (res){ //请求成功后回调函数res = JSONObject.toJSONString(resultMap)
                                    if(res.code == 1){//成功
                                        layer.msg(res.message);//弹出提示
                                        table.reload('LAY-user-manage'); //数据刷新
                                        layer.close(index); //关闭弹层
                                    }
                                    if(res.code == -1){//系统出问题
                                        layer.msg(res.msg,{icon: 5});//弹出提示
                                    }
                                }
                            })

                        });
                        submit.trigger('click');
                    }
                });
            }
        };

        $('.layui-btn.layuiadmin-btn-useradmin').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });

    });
</script>
</body>
</html>